Major updates to software running on electronic devices such as mobile phones, tablets, wearable devices, and the like are typically downloaded and installed in response to a user selecting a prompt relating to the updates. For example, the user may receive a notification that a new software update is available for her electronic device. The user may then select a time that is convenient for downloading and installing the update. Depending on the size of the update and the network speed, downloading may take a few seconds, a few minutes, or substantially more time. Additionally, depending on the scope of the update and other details (e.g., presence of executable code, etc.), certain conditions may be required in order for the update to be installed (e.g., the electronic device being plugged into a charging outlet, the electronic device being rebooted after installation, input of user credentials, etc.). The combination of time required for updates and these conditions may present challenges to the user and may even result in the update not being selected in a timely manner. This can result in a poor user experience when out-of-date software continues to be used. Because of this, software developers may attempt to minimize the number of major updates. One way of doing this is to send certain minor updates to electronic devices “over-the-air.” These minor updates may be downloaded in the background and installed without user interaction. However, for security reasons or otherwise, the type of updates that may be sent to the electronic devices in this manner may be limited.
Generally, in recent years, computing capacity of electronic devices has increased. At the same time, these electronic devices are required to support more and more functionality. For example, mobile phones are able to support different applications, some of which may run multiple processes in parallel. Even with such increased computing capacity, prioritization of computing resources may impact user experience and overall operational integrity of the electronic devices. This may be especially true of electronic devices that include functions performed in response to detection of certain conditions. Continually evaluating such conditions, however, may be an inefficient use of computing resources, not to mention may result in increased power consumption.